Clean Wireframe

Tidying up your edges and vertices

Clean Wireframe

To access this dialog:

  • Activate the Solids ribbon and select | Fix | Clean

  • Run the "wireframe-clean" command from the command line.

The wireframe-clean command provides a set of options which can be used to fix many problems in wireframes found during the verify command.

Since it also identifies topologies, it can be used as an alternative to wireframe-verify where wireframes need to have consistent normals (triangle direction) generated.

The General Options and Closed Volume Options chosen in the dialog will remain for the next time the command is run within the current session. They do not persist between sessions.

You can either clean a full, selected wireframe object or preselected wireframe triangles. The latter option can be useful when rectifying crossovers or near-coincident points in imported surface data, and the problematic area is known, for example.

This command supports flexible wireframe selection.

 

Field Details:

Input Wireframe:

  • Object: use the drop list to select the wireframe to be cleaned. This will list all wireframes in memory; not just those in the current view. The current wireframe should be picked by default. The pick button, next to the drop down list, may be used to perform interactive object selection. Enter pick mode by clicking on the button, then select the wireframe of interest in the 3D or Design views. The pick will honour any current wireframe selection filters, creating a temporary wireframe if necessary (e.g. picking part of a wireframe by COLOUR)

  • Selected triangles: if you have previously selected wireframe triangles, or intend to select them before running the wireframe-clean command, select this option. Triangles can be part of any object(s).

  • Key Field: the wireframe-clean routine is expecting the input data to represent either a DTM or closed solid. Some wireframe objects or selected triangle data have multiple overlapping or touching volumes which should instead be considered separate regions and not combined by the clean routine. In this case, the Key field drop down can be used to select the column which contains unique values for each region. These will then be processed separately and concatenated in the final result.

Output Wireframe: choose whether to output to the current wireframe object, or create a new wireframe object. If the input wireframe is the Current object, the Current object output option will be disabled in order to prevent unintended duplication of the wireframe in that object.

 

General Cleanup Options

General options are likely to apply to both DTMs and closed volumes

Remove planar holes: If selected, the clean routine will detect any area surrounded by a boundary of open edges, and triangulate the boundary to fill the hole. Any triangulations which would cause crossovers within the wireframe are discarded. This option should be used with some caution with DTMs. Because DTMs have an outer boundary of open edges, the option can be used to close a DTM to make a closed solid, e.g.:


However, this is not possible if the elevations of the DTM boundary cross over the elevations within the DTM boundary, e.g.:

 



For these DTMs and for closed solids, the hole removal is intended as a remedial method to fix gaps in the triangulation, possibly caused by digitising errors or other problems:

The new triangles created during the fill process will have default attributes applied to them.

Remove Crossovers: crossovers are formed when triangles intersect at somewhere other than their boundary. The crossover removal will break any intersected triangles along their intersection line, and then attempt to resolve these into new volumes. For example, in the following image, a simple hour glass shape with crossing lines (blue) has been extruded into a volume. The red line shows the triangle crossovers detected from the wireframe verify function. The wireframe is coloured by surface, showing that the verify function has detected a single surface with crossovers.


The cleaned version of the wireframe shows 2 adjacent surfaces, and no crossovers.  

note.gif (1017 bytes)

It is often a good idea to combine crossover removal with removing small volumes. This can then remove the tiny fragments caused when adjacent surfaces intersect but almost align.

 

Snap points closer than: If selected this will snap any close wireframe points together before performing any other operations.

This option should be used with caution as it snaps points regardless of topology so can cause issue such as shared or open edges, if the tolerance is too high.

 

Remove edges less than...: some modelling processes may generate small sliver triangles which can complicate downstream processes or simply increase wireframe file size for no gain. Removing small edges can be thought of as a very simple form of decimation, to remove these trivial triangles. When a triangle edge is encountered which is less than the value specified, the edge will be collapsed to one of the existing vertices, resulting in the smaller triangle being deleted and one of the adjacent triangles growing to fill the gap.

Remove T Junctions: T-junctions are formed when 2 adjacent triangles shared a common edge with a third triangle. Because this stops the triangles from being connected properly, verify detects these as open edges (or sometimes crossovers). When the gap between the point shared by the 2 triangles and the edge of the third falls below the Tolerance value, the third point will be snapped to the third triangle, which will then be split using the move point, or the 2 triangles collapsed.

Closed Volume Options

These options are intended for use closed wireframes. Use with DTMs may result in the entire wireframe being deleted. No checks are performed for this at run time, so make sure you make a back up of your data beforehand if it is not a closed volume.

Remove interior triangles: This option will remove all the triangles within a closed volume, essentially returning the outer shell. Note that if the internal triangles form a valid internal closed volume, then they will not be removed. In the image below, the combined boxes still have some triangles left over from the common edge. The section through the boxes show the triangles are removed after the wireframe cleaning.

Remove hanging sheets: as an alternative to the example above, a cleaner volume could be produced using the hanging sheets removal option. This is not just restricted to internal triangles, but potentially any triangle with an open edge. Triangles are then progressively deleted if they are found to contain open edges. This process continues until all remaining triangles are fully-connected.

Remove hanging sheets can cause an entire wireframe to be deleted so should be considered a high-risk option. This could happen, for example, if the option was selected for a closed volume with a hole in the surface.

 

Remove volumes less than: after a series of complicated wireframe processes, e.g. multiple Booleans, or isoshell generations, it’s sometimes possible to have a series of small volumes produced which can be attributed to small errors in the original digitising, the result of re-triangulation causing similar surfaces to become slightly different or other reasons. The wireframe cleaning utility allows for all closed volumes below a specified amount to be removed, leaving only the larger, more significant volumes.

Remove thicknesses less than: this option will remove those parts of a volume which have pinched down to a thickness less than the specified amount, leaving a volume concentrated around the areas of non-trivial thickness.

note.gif (1017 bytes)

This option can sometimes lead to crossovers, so it is recommended that the Remove crossovers option is used as well.